// $ANTLR 3.4 C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g 2012-11-07 23:46:22

    package practica8;


import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

@SuppressWarnings({"all", "warnings", "unchecked"})
public class CodigoCLexer extends Lexer {
    public static final int EOF=-1;
    public static final int BLANCO=4;
    public static final int BREAK=5;
    public static final int CADENA=6;
    public static final int CHAR=7;
    public static final int COMA=8;
    public static final int COMILLAS=9;
    public static final int COMPARADOR=10;
    public static final int DIGITO=11;
    public static final int DIV=12;
    public static final int IDENT=13;
    public static final int IF=14;
    public static final int IGUAL=15;
    public static final int INT=16;
    public static final int LETRA=17;
    public static final int LLAVE_A=18;
    public static final int LLAVE_C=19;
    public static final int MAIN=20;
    public static final int MULT=21;
    public static final int NUMERO=22;
    public static final int PARENTESIS_A=23;
    public static final int PARENTESIS_C=24;
    public static final int PRINTF=25;
    public static final int PUNTO_COMA=26;
    public static final int RESTA=27;
    public static final int SUMA=28;
    public static final int VOID=29;
    public static final int WHILE=30;

         
         private ArrayList<RecognitionException> errors = new ArrayList<RecognitionException>();
         public ArrayList<RecognitionException> getErrors() {
            return errors;
         }
         @Override
         public void reportError (RecognitionException e) {
            String msg = getErrorMessage(e, getTokenNames());
            System.err.println(msg);
            errors.add(e);
         }
     


    // delegates
    // delegators
    public Lexer[] getDelegates() {
        return new Lexer[] {};
    }

    public CodigoCLexer() {} 
    public CodigoCLexer(CharStream input) {
        this(input, new RecognizerSharedState());
    }
    public CodigoCLexer(CharStream input, RecognizerSharedState state) {
        super(input,state);
    }
    public String getGrammarFileName() { return "C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g"; }

    // $ANTLR start "BLANCO"
    public final void mBLANCO() throws RecognitionException {
        try {
            int _type = BLANCO;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:26:7: ( ( ' ' | '\\t' | '\\r\\n' | '\\n' ) )
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:26:9: ( ' ' | '\\t' | '\\r\\n' | '\\n' )
            {
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:26:9: ( ' ' | '\\t' | '\\r\\n' | '\\n' )
            int alt1=4;
            switch ( input.LA(1) ) {
            case ' ':
                {
                alt1=1;
                }
                break;
            case '\t':
                {
                alt1=2;
                }
                break;
            case '\r':
                {
                alt1=3;
                }
                break;
            case '\n':
                {
                alt1=4;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 1, 0, input);

                throw nvae;

            }

            switch (alt1) {
                case 1 :
                    // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:26:10: ' '
                    {
                    match(' '); 

                    }
                    break;
                case 2 :
                    // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:26:14: '\\t'
                    {
                    match('\t'); 

                    }
                    break;
                case 3 :
                    // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:26:19: '\\r\\n'
                    {
                    match("\r\n"); 



                    }
                    break;
                case 4 :
                    // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:26:26: '\\n'
                    {
                    match('\n'); 

                    }
                    break;

            }


            skip();

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "BLANCO"

    // $ANTLR start "IF"
    public final void mIF() throws RecognitionException {
        try {
            int _type = IF;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:27:3: ( 'if' )
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:27:5: 'if'
            {
            match("if"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "IF"

    // $ANTLR start "WHILE"
    public final void mWHILE() throws RecognitionException {
        try {
            int _type = WHILE;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:28:6: ( 'while' )
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:28:8: 'while'
            {
            match("while"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "WHILE"

    // $ANTLR start "BREAK"
    public final void mBREAK() throws RecognitionException {
        try {
            int _type = BREAK;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:29:6: ( 'break' )
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:29:8: 'break'
            {
            match("break"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "BREAK"

    // $ANTLR start "VOID"
    public final void mVOID() throws RecognitionException {
        try {
            int _type = VOID;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:30:5: ( 'void' )
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:30:7: 'void'
            {
            match("void"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "VOID"

    // $ANTLR start "INT"
    public final void mINT() throws RecognitionException {
        try {
            int _type = INT;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:31:4: ( 'int' )
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:31:6: 'int'
            {
            match("int"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "INT"

    // $ANTLR start "CHAR"
    public final void mCHAR() throws RecognitionException {
        try {
            int _type = CHAR;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:32:5: ( 'char' )
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:32:7: 'char'
            {
            match("char"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "CHAR"

    // $ANTLR start "MAIN"
    public final void mMAIN() throws RecognitionException {
        try {
            int _type = MAIN;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:33:5: ( 'main' )
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:33:7: 'main'
            {
            match("main"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "MAIN"

    // $ANTLR start "PRINTF"
    public final void mPRINTF() throws RecognitionException {
        try {
            int _type = PRINTF;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:34:7: ( 'printf' )
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:34:9: 'printf'
            {
            match("printf"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "PRINTF"

    // $ANTLR start "DIGITO"
    public final void mDIGITO() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:35:16: ( '0' .. '9' )
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:
            {
            if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
                input.consume();
            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;
            }


            }


        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "DIGITO"

    // $ANTLR start "LETRA"
    public final void mLETRA() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:36:15: ( 'a' .. 'z' | 'A' .. 'Z' )
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:
            {
            if ( (input.LA(1) >= 'A' && input.LA(1) <= 'Z')||(input.LA(1) >= 'a' && input.LA(1) <= 'z') ) {
                input.consume();
            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;
            }


            }


        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "LETRA"

    // $ANTLR start "NUMERO"
    public final void mNUMERO() throws RecognitionException {
        try {
            int _type = NUMERO;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:37:7: ( ( DIGITO )+ ( '.' ( DIGITO )* )? )
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:37:9: ( DIGITO )+ ( '.' ( DIGITO )* )?
            {
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:37:9: ( DIGITO )+
            int cnt2=0;
            loop2:
            do {
                int alt2=2;
                int LA2_0 = input.LA(1);

                if ( ((LA2_0 >= '0' && LA2_0 <= '9')) ) {
                    alt2=1;
                }


                switch (alt2) {
            	case 1 :
            	    // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:
            	    {
            	    if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
            	        input.consume();
            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;
            	    }


            	    }
            	    break;

            	default :
            	    if ( cnt2 >= 1 ) break loop2;
                        EarlyExitException eee =
                            new EarlyExitException(2, input);
                        throw eee;
                }
                cnt2++;
            } while (true);


            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:37:18: ( '.' ( DIGITO )* )?
            int alt4=2;
            int LA4_0 = input.LA(1);

            if ( (LA4_0=='.') ) {
                alt4=1;
            }
            switch (alt4) {
                case 1 :
                    // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:37:19: '.' ( DIGITO )*
                    {
                    match('.'); 

                    // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:37:22: ( DIGITO )*
                    loop3:
                    do {
                        int alt3=2;
                        int LA3_0 = input.LA(1);

                        if ( ((LA3_0 >= '0' && LA3_0 <= '9')) ) {
                            alt3=1;
                        }


                        switch (alt3) {
                    	case 1 :
                    	    // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:
                    	    {
                    	    if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
                    	        input.consume();
                    	    }
                    	    else {
                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
                    	        recover(mse);
                    	        throw mse;
                    	    }


                    	    }
                    	    break;

                    	default :
                    	    break loop3;
                        }
                    } while (true);


                    }
                    break;

            }


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "NUMERO"

    // $ANTLR start "IDENT"
    public final void mIDENT() throws RecognitionException {
        try {
            int _type = IDENT;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:38:6: ( LETRA ( LETRA | DIGITO )* )
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:38:8: LETRA ( LETRA | DIGITO )*
            {
            mLETRA(); 


            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:38:13: ( LETRA | DIGITO )*
            loop5:
            do {
                int alt5=2;
                int LA5_0 = input.LA(1);

                if ( ((LA5_0 >= '0' && LA5_0 <= '9')||(LA5_0 >= 'A' && LA5_0 <= 'Z')||(LA5_0 >= 'a' && LA5_0 <= 'z')) ) {
                    alt5=1;
                }


                switch (alt5) {
            	case 1 :
            	    // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:
            	    {
            	    if ( (input.LA(1) >= '0' && input.LA(1) <= '9')||(input.LA(1) >= 'A' && input.LA(1) <= 'Z')||(input.LA(1) >= 'a' && input.LA(1) <= 'z') ) {
            	        input.consume();
            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;
            	    }


            	    }
            	    break;

            	default :
            	    break loop5;
                }
            } while (true);


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "IDENT"

    // $ANTLR start "PARENTESIS_A"
    public final void mPARENTESIS_A() throws RecognitionException {
        try {
            int _type = PARENTESIS_A;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:39:13: ( '(' )
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:39:15: '('
            {
            match('('); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "PARENTESIS_A"

    // $ANTLR start "PARENTESIS_C"
    public final void mPARENTESIS_C() throws RecognitionException {
        try {
            int _type = PARENTESIS_C;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:40:13: ( ')' )
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:40:15: ')'
            {
            match(')'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "PARENTESIS_C"

    // $ANTLR start "LLAVE_A"
    public final void mLLAVE_A() throws RecognitionException {
        try {
            int _type = LLAVE_A;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:41:8: ( '{' )
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:41:10: '{'
            {
            match('{'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "LLAVE_A"

    // $ANTLR start "LLAVE_C"
    public final void mLLAVE_C() throws RecognitionException {
        try {
            int _type = LLAVE_C;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:42:8: ( '}' )
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:42:10: '}'
            {
            match('}'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "LLAVE_C"

    // $ANTLR start "COMA"
    public final void mCOMA() throws RecognitionException {
        try {
            int _type = COMA;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:43:5: ( ',' )
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:43:7: ','
            {
            match(','); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "COMA"

    // $ANTLR start "PUNTO_COMA"
    public final void mPUNTO_COMA() throws RecognitionException {
        try {
            int _type = PUNTO_COMA;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:44:11: ( ';' )
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:44:13: ';'
            {
            match(';'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "PUNTO_COMA"

    // $ANTLR start "COMPARADOR"
    public final void mCOMPARADOR() throws RecognitionException {
        try {
            int _type = COMPARADOR;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:45:11: ( ( '<' | '>' | '<=' | '>=' | '==' ) )
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:45:13: ( '<' | '>' | '<=' | '>=' | '==' )
            {
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:45:13: ( '<' | '>' | '<=' | '>=' | '==' )
            int alt6=5;
            switch ( input.LA(1) ) {
            case '<':
                {
                int LA6_1 = input.LA(2);

                if ( (LA6_1=='=') ) {
                    alt6=3;
                }
                else {
                    alt6=1;
                }
                }
                break;
            case '>':
                {
                int LA6_2 = input.LA(2);

                if ( (LA6_2=='=') ) {
                    alt6=4;
                }
                else {
                    alt6=2;
                }
                }
                break;
            case '=':
                {
                alt6=5;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 6, 0, input);

                throw nvae;

            }

            switch (alt6) {
                case 1 :
                    // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:45:14: '<'
                    {
                    match('<'); 

                    }
                    break;
                case 2 :
                    // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:45:18: '>'
                    {
                    match('>'); 

                    }
                    break;
                case 3 :
                    // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:45:22: '<='
                    {
                    match("<="); 



                    }
                    break;
                case 4 :
                    // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:45:27: '>='
                    {
                    match(">="); 



                    }
                    break;
                case 5 :
                    // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:45:32: '=='
                    {
                    match("=="); 



                    }
                    break;

            }


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "COMPARADOR"

    // $ANTLR start "IGUAL"
    public final void mIGUAL() throws RecognitionException {
        try {
            int _type = IGUAL;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:46:6: ( '=' )
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:46:8: '='
            {
            match('='); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "IGUAL"

    // $ANTLR start "RESTA"
    public final void mRESTA() throws RecognitionException {
        try {
            int _type = RESTA;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:47:6: ( '-' )
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:47:8: '-'
            {
            match('-'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "RESTA"

    // $ANTLR start "SUMA"
    public final void mSUMA() throws RecognitionException {
        try {
            int _type = SUMA;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:48:5: ( '+' )
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:48:7: '+'
            {
            match('+'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "SUMA"

    // $ANTLR start "MULT"
    public final void mMULT() throws RecognitionException {
        try {
            int _type = MULT;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:49:5: ( '*' )
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:49:7: '*'
            {
            match('*'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "MULT"

    // $ANTLR start "DIV"
    public final void mDIV() throws RecognitionException {
        try {
            int _type = DIV;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:50:4: ( '/' )
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:50:6: '/'
            {
            match('/'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "DIV"

    // $ANTLR start "COMILLAS"
    public final void mCOMILLAS() throws RecognitionException {
        try {
            int _type = COMILLAS;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:51:9: ( '\"' )
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:51:11: '\"'
            {
            match('\"'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "COMILLAS"

    // $ANTLR start "CADENA"
    public final void mCADENA() throws RecognitionException {
        try {
            int _type = CADENA;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:52:7: ( COMILLAS ( options {greedy=false; } : . )* COMILLAS )
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:52:9: COMILLAS ( options {greedy=false; } : . )* COMILLAS
            {
            mCOMILLAS(); 


            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:52:18: ( options {greedy=false; } : . )*
            loop7:
            do {
                int alt7=2;
                int LA7_0 = input.LA(1);

                if ( (LA7_0=='\"') ) {
                    alt7=2;
                }
                else if ( ((LA7_0 >= '\u0000' && LA7_0 <= '!')||(LA7_0 >= '#' && LA7_0 <= '\uFFFF')) ) {
                    alt7=1;
                }


                switch (alt7) {
            	case 1 :
            	    // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:52:43: .
            	    {
            	    matchAny(); 

            	    }
            	    break;

            	default :
            	    break loop7;
                }
            } while (true);


            mCOMILLAS(); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "CADENA"

    public void mTokens() throws RecognitionException {
        // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:1:8: ( BLANCO | IF | WHILE | BREAK | VOID | INT | CHAR | MAIN | PRINTF | NUMERO | IDENT | PARENTESIS_A | PARENTESIS_C | LLAVE_A | LLAVE_C | COMA | PUNTO_COMA | COMPARADOR | IGUAL | RESTA | SUMA | MULT | DIV | COMILLAS | CADENA )
        int alt8=25;
        alt8 = dfa8.predict(input);
        switch (alt8) {
            case 1 :
                // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:1:10: BLANCO
                {
                mBLANCO(); 


                }
                break;
            case 2 :
                // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:1:17: IF
                {
                mIF(); 


                }
                break;
            case 3 :
                // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:1:20: WHILE
                {
                mWHILE(); 


                }
                break;
            case 4 :
                // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:1:26: BREAK
                {
                mBREAK(); 


                }
                break;
            case 5 :
                // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:1:32: VOID
                {
                mVOID(); 


                }
                break;
            case 6 :
                // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:1:37: INT
                {
                mINT(); 


                }
                break;
            case 7 :
                // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:1:41: CHAR
                {
                mCHAR(); 


                }
                break;
            case 8 :
                // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:1:46: MAIN
                {
                mMAIN(); 


                }
                break;
            case 9 :
                // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:1:51: PRINTF
                {
                mPRINTF(); 


                }
                break;
            case 10 :
                // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:1:58: NUMERO
                {
                mNUMERO(); 


                }
                break;
            case 11 :
                // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:1:65: IDENT
                {
                mIDENT(); 


                }
                break;
            case 12 :
                // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:1:71: PARENTESIS_A
                {
                mPARENTESIS_A(); 


                }
                break;
            case 13 :
                // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:1:84: PARENTESIS_C
                {
                mPARENTESIS_C(); 


                }
                break;
            case 14 :
                // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:1:97: LLAVE_A
                {
                mLLAVE_A(); 


                }
                break;
            case 15 :
                // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:1:105: LLAVE_C
                {
                mLLAVE_C(); 


                }
                break;
            case 16 :
                // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:1:113: COMA
                {
                mCOMA(); 


                }
                break;
            case 17 :
                // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:1:118: PUNTO_COMA
                {
                mPUNTO_COMA(); 


                }
                break;
            case 18 :
                // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:1:129: COMPARADOR
                {
                mCOMPARADOR(); 


                }
                break;
            case 19 :
                // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:1:140: IGUAL
                {
                mIGUAL(); 


                }
                break;
            case 20 :
                // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:1:146: RESTA
                {
                mRESTA(); 


                }
                break;
            case 21 :
                // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:1:152: SUMA
                {
                mSUMA(); 


                }
                break;
            case 22 :
                // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:1:157: MULT
                {
                mMULT(); 


                }
                break;
            case 23 :
                // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:1:162: DIV
                {
                mDIV(); 


                }
                break;
            case 24 :
                // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:1:166: COMILLAS
                {
                mCOMILLAS(); 


                }
                break;
            case 25 :
                // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\CodigoCLexer.g:1:175: CADENA
                {
                mCADENA(); 


                }
                break;

        }

    }


    protected DFA8 dfa8 = new DFA8(this);
    static final String DFA8_eotS =
        "\2\uffff\7\12\11\uffff\1\40\4\uffff\1\41\1\43\7\12\4\uffff\1\53"+
        "\6\12\1\uffff\2\12\1\64\1\65\1\66\1\12\1\70\1\71\3\uffff\1\12\2"+
        "\uffff\1\73\1\uffff";
    static final String DFA8_eofS =
        "\74\uffff";
    static final String DFA8_minS =
        "\1\11\1\uffff\1\146\1\150\1\162\1\157\1\150\1\141\1\162\11\uffff"+
        "\1\75\4\uffff\1\0\1\60\1\164\1\151\1\145\1\151\1\141\2\151\4\uffff"+
        "\1\60\1\154\1\141\1\144\1\162\2\156\1\uffff\1\145\1\153\3\60\1\164"+
        "\2\60\3\uffff\1\146\2\uffff\1\60\1\uffff";
    static final String DFA8_maxS =
        "\1\175\1\uffff\1\156\1\150\1\162\1\157\1\150\1\141\1\162\11\uffff"+
        "\1\75\4\uffff\1\uffff\1\172\1\164\1\151\1\145\1\151\1\141\2\151"+
        "\4\uffff\1\172\1\154\1\141\1\144\1\162\2\156\1\uffff\1\145\1\153"+
        "\3\172\1\164\2\172\3\uffff\1\146\2\uffff\1\172\1\uffff";
    static final String DFA8_acceptS =
        "\1\uffff\1\1\7\uffff\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1\21\1\22"+
        "\1\uffff\1\24\1\25\1\26\1\27\11\uffff\1\23\1\30\1\31\1\2\7\uffff"+
        "\1\6\10\uffff\1\5\1\7\1\10\1\uffff\1\3\1\4\1\uffff\1\11";
    static final String DFA8_specialS =
        "\27\uffff\1\0\44\uffff}>";
    static final String[] DFA8_transitionS = {
            "\2\1\2\uffff\1\1\22\uffff\1\1\1\uffff\1\27\5\uffff\1\13\1\14"+
            "\1\25\1\24\1\17\1\23\1\uffff\1\26\12\11\1\uffff\1\20\1\21\1"+
            "\22\1\21\2\uffff\32\12\6\uffff\1\12\1\4\1\6\5\12\1\2\3\12\1"+
            "\7\2\12\1\10\5\12\1\5\1\3\3\12\1\15\1\uffff\1\16",
            "",
            "\1\30\7\uffff\1\31",
            "\1\32",
            "\1\33",
            "\1\34",
            "\1\35",
            "\1\36",
            "\1\37",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "\1\21",
            "",
            "",
            "",
            "",
            "\0\42",
            "\12\12\7\uffff\32\12\6\uffff\32\12",
            "\1\44",
            "\1\45",
            "\1\46",
            "\1\47",
            "\1\50",
            "\1\51",
            "\1\52",
            "",
            "",
            "",
            "",
            "\12\12\7\uffff\32\12\6\uffff\32\12",
            "\1\54",
            "\1\55",
            "\1\56",
            "\1\57",
            "\1\60",
            "\1\61",
            "",
            "\1\62",
            "\1\63",
            "\12\12\7\uffff\32\12\6\uffff\32\12",
            "\12\12\7\uffff\32\12\6\uffff\32\12",
            "\12\12\7\uffff\32\12\6\uffff\32\12",
            "\1\67",
            "\12\12\7\uffff\32\12\6\uffff\32\12",
            "\12\12\7\uffff\32\12\6\uffff\32\12",
            "",
            "",
            "",
            "\1\72",
            "",
            "",
            "\12\12\7\uffff\32\12\6\uffff\32\12",
            ""
    };

    static final short[] DFA8_eot = DFA.unpackEncodedString(DFA8_eotS);
    static final short[] DFA8_eof = DFA.unpackEncodedString(DFA8_eofS);
    static final char[] DFA8_min = DFA.unpackEncodedStringToUnsignedChars(DFA8_minS);
    static final char[] DFA8_max = DFA.unpackEncodedStringToUnsignedChars(DFA8_maxS);
    static final short[] DFA8_accept = DFA.unpackEncodedString(DFA8_acceptS);
    static final short[] DFA8_special = DFA.unpackEncodedString(DFA8_specialS);
    static final short[][] DFA8_transition;

    static {
        int numStates = DFA8_transitionS.length;
        DFA8_transition = new short[numStates][];
        for (int i=0; i<numStates; i++) {
            DFA8_transition[i] = DFA.unpackEncodedString(DFA8_transitionS[i]);
        }
    }

    class DFA8 extends DFA {

        public DFA8(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 8;
            this.eot = DFA8_eot;
            this.eof = DFA8_eof;
            this.min = DFA8_min;
            this.max = DFA8_max;
            this.accept = DFA8_accept;
            this.special = DFA8_special;
            this.transition = DFA8_transition;
        }
        public String getDescription() {
            return "1:1: Tokens : ( BLANCO | IF | WHILE | BREAK | VOID | INT | CHAR | MAIN | PRINTF | NUMERO | IDENT | PARENTESIS_A | PARENTESIS_C | LLAVE_A | LLAVE_C | COMA | PUNTO_COMA | COMPARADOR | IGUAL | RESTA | SUMA | MULT | DIV | COMILLAS | CADENA );";
        }
        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
            IntStream input = _input;
        	int _s = s;
            switch ( s ) {
                    case 0 : 
                        int LA8_23 = input.LA(1);

                        s = -1;
                        if ( ((LA8_23 >= '\u0000' && LA8_23 <= '\uFFFF')) ) {s = 34;}

                        else s = 33;

                        if ( s>=0 ) return s;
                        break;
            }
            NoViableAltException nvae =
                new NoViableAltException(getDescription(), 8, _s, input);
            error(nvae);
            throw nvae;
        }

    }
 

}